package com.wahoyu.exportwordtest.utils;

import lombok.extern.slf4j.Slf4j;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;
import org.apache.batik.transcoder.image.PNGTranscoder;
import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 将SVG文件转换为PNG文件
 */
@Slf4j
public class SvgToPngConverter {
    public static void convertSvgToPng(File svgFile, File pngFile) {
        // 创建PNG转换器
        PNGTranscoder transcoder = new PNGTranscoder();

        // 设置输出参数（例如宽度、高度）
//        transcoder.addTranscodingHint(PNGTranscoder.KEY_WIDTH, 500f); // 可选：指定宽度
//        transcoder.addTranscodingHint(PNGTranscoder.KEY_HEIGHT, 500f); // 可选：指定高度

        // 输入源（支持文件、输入流或URI）
        TranscoderInput input = new TranscoderInput(svgFile.toURI().toString());

        // 输出配置
        try (FileOutputStream outputStream = new FileOutputStream(pngFile)) {
            TranscoderOutput output = new TranscoderOutput(outputStream);

            // 执行转换
            transcoder.transcode(input, output);
        }catch (Exception e){
            log.info("转换日志已隐藏");
        }
    }
}